1. Field of the Invention
This invention relates in general to computer graphics display systems, and more particularly to apparatus and methods for identifying a displayed object in an operator selected area of the display screen to facilitate operator selection of an object from a complex display.
2. Description of the Prior Art
Interactive raster graphics systems, such as Computer Aided Design and Computer Aided Manufacturing (CAD/CAM) workstations, are widely used to design components of systems of mechanical, electrical, electromechanical and electronics devices. Frequently, the emphasis within such systems is on operator interaction with the computer based model of a component or system being designed in order to modify the model or to test, for example, its mechanical, electrical or thermal properties. A computer based model is comprised of numerous graphics objects that are individually processed and displayed for operator action. Operator selection of a displayed object is accomplished via any one of a number of operator controlled interaction devices, such as light pens, locators (e.g., a data tablet with stylus), and alphanumeric and function keyboards. An important part of many interaction sequences is computer identification of an operator selected displayed object to be operated upon, a process known as "picking". The picking process is complicated by the pipeline processing techniques utilized in most modern graphics systems.
Determining the object "picked" in the display program requires the graphics controller to provide enough information for the application program to locate that object. Typically, graphics system processing techniques require the processing of an entire display screen to identify a particular displayed object selected or picked for further processing. Most existing processing methods require the re-execution of the display list including: transformation of each geometric primitive defining a displayed object in world coordinate space; clipping of each transformed primitive against the predefined clipping boundary in world coordinate space; mapping of each clipped primitive to an operator defined viewport and screen coordinate space; rasterization of all mapped data; and finally determination of whether the generated pixels intersect the operator defined selection area or window in screen coordinate space. If so, then a pick occurs.
Modern graphics display systems employ a set of pipelined processors to perform the transformation, mapping and clipping operations. The pipeline processors increase graphics processing speed by working concurrently on several graphics orders. The use of pipelined processors, however, introduces a problem in pick detection because picking typically occurs at the end of the pipeline when the graphics control processors has advanced to processing a subsequent graphics order. When a pick occurs, the pick detect logic will interrupt the graphics control processor that must, in turn, return the necessary information to the application program for action on the pick.
Earlier generations of graphics display systems did not used piplined processors. In those systems the drawing status in the graphics control processor stayed constant through pick detect processing. In those systems when a pick occurred the graphics processor contained the correct state information for communication to the application program.
Current generation graphics processing systems operate on hierarchical graphics data structures that can be more easily referenced to deal with the picking delay inherent in a pipeline processing system. Graphics data and graphics application developed for earlier generation graphics display systems typically were based on non-hierarchical data and were frequently implemented without consideration for pipelining concepts. This has created a serious problem when these earlier generation models or applications are moved to current generation devices.